# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Donkey Kong Toluca Template

game: Donkey Kong Toluca
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.
  game:
    Donkey Kong Toluca: 0.2.2 # Version of the world required for this yaml to work as expected.

Donkey Kong Toluca:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  energy_link:
    # EnergyLink allows players to deposit energy extracted from collected bananas into a shared pool across games in the session.
    # 
    # You can exchange energy for Backup DK Barrels. Great for players that find the base game hard.
    # There's an additional item in the item pool that allows for better energy extraction from bananas.
    'false': 50
    'true': 0

  starting_life_count:
    # How many lives to start the game with.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    30: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99

  default_save_name:
    # Which name will be given to the save file when pressing start at the name entry menu.
    # Limited to 5 letters.
    DIXIE: 50

  ########
  # Goal #
  ########
  goal:
    # Which K.Rool fights will count towards the goal.
    # - **Kore**: Defeat Baron K. Roolenstein at Kastle Kaos.
    # - **Knautilus**: Defeat Baron K. Roolenstein at Knautilus.
    # - **Kompletionist**: Defeat Baron K. Roolenstein at both locations.
    kore: 50
    krematoa: 0
    kompletionist: 0

  required_birds:
    # How many birds are required to reveal Kastle Kaos in the main map.
    # Selecting 0 will create an Access item instead.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 6
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-6: 0 # random value between 0 and 6

  cog_placement:
    # Where are the five required Cogs placed in the session which are used to open up Knautilus at Krematoa.
    # Having all 5 cogs also unlocks every single Krematoa level immediately.
    # 
    # ONLY "ANYWHERE" IS SUPPORTED AT THE MOMENT
    anywhere: 0
    krematoa_level_clear: 50
    krematoa_anywhere: 0

  required_lake_levels:
    # How many levels in Lake Orangatanga need to be cleared to fight the world's boss
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-5: 0 # random value between 1 and 5

  required_forest_levels:
    # How many levels in Kremwood Forest need to be cleared to fight the world's boss
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-5: 0 # random value between 1 and 5

  required_cove_levels:
    # How many levels in Cotton Top Cove need to be cleared to fight the world's boss
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-5: 0 # random value between 1 and 5

  required_mekanos_levels:
    # How many levels in Mekanos need to be cleared to fight the world's boss
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-5: 0 # random value between 1 and 5

  required_k3_levels:
    # How many levels in K3 need to be cleared to fight the world's boss
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-5: 0 # random value between 1 and 5

  required_ridge_levels:
    # How many levels in Razor Ridge need to be cleared to fight the world's boss
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-5: 0 # random value between 1 and 5

  required_kore_levels:
    # How many levels in Kaos Kore need to be cleared to fight the world's boss
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-5: 0 # random value between 1 and 5

  required_krematoa_levels:
    # How many levels in Krematoa need to be cleared to fight the world's boss
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-5: 0 # random value between 1 and 5

  #############
  # Locations #
  #############
  logic:
    # Logic difficulty. May become irrelevant if not a lot of items are added to the item pool.
    # - **Strict**: Ensures everything is reachable as the original devs intended. For beginners or people who want to go out of logic with some tricks.
    # - **Loose**: Reaching locations may require some level of mastery about the game's mechanics.
    # - **Expert**: Locations expects players to be extremely good at the game with minimal amount of abilities. Hard to go out of logic.
    strict: 50
    loose: 0
    expert: 0

  kong_checks:
    # Whether collecting all KONG letters in each level will grant a check
    'false': 50
    'true': 0

  dk_coin_checks:
    # Whether collecting a DK Coin in levels will grant a check
    'false': 50
    'true': 0

  balloon_checks:
    # Whether collecting balloons in levels will grant a check
    'false': 50
    'true': 0

  banana_checks:
    # Whether collecting banana bunches in levels will grant a check
    'false': 50
    'true': 0

  coin_checks:
    # Whether collecting bear coins in levels will grant a check
    'false': 50
    'true': 0

  bird_checks:
    # Whether collecting a banana bird will grant a check
    'false': 50
    'true': 0

  ###########
  # Shuffle #
  ###########
  starting_kong:
    # Which Kongs will be available at the start
    dixie: 50
    kiddy: 0
    both: 0

  shuffle_levels:
    # Shuffles levels around. Does nothing to bosses.
    'false': 50
    'true': 0

  shuffle_abilities:
    # Which abilities will be added as items in the item pool
    # If an ability is not present in the list they will be treated as unlocked from the start
    ['Water Bounce', 'Swim', 'Climb', 'Carry', 'Team Attack', 'Helicopter Spin', 'Spin']

  shuffle_animals:
    # Which animal buddies will be added as items in the item pool
    # If an animal buddy is not present in the list they will be treated as unlocked from the start
    ['Squawks', 'Parry', 'Squitter', 'Enguarde', 'Ellie']

  shuffle_objects:
    # Which kind of barrels will be added as items in the item pool
    # If a barrel is not present in the list they will be treated as unlocked from the start
    ['Barrel Shield', 'Barrel Switch', 'Rocket Barrel', 'Tracker Barrel', 'Waterfall Barrel', 'Invincibility Barrel', 'Ghost Barrel', 'Barrel Cannon', 'Warp Barrel']

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_inventory_from_pool:
    # Start with the specified amount of these items and don't place them in the world. Example: "Bomb: 1"
    # 
    # The game decides what the replacement items will be.
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
